package com.css.zfzx.fwsjcj.modules.structure.entity;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

/**
 * @author leon
 * @Title:
 * @Description: 主表（详查数据审核）
 * @date 2020/6/2 15:15
 */
@Entity
@Table(name = "fw_structure_form", schema = "fwsjcj", catalog = "")
public class FwStructureFormEntity {
    private String id;
    /**
     * 子表结构ID
     */
    private String structureId;
    /**
     * 子表结构类型，8种结构表
     */
    private String structureType;
    /**
     * 结构编号
     */
    private String structureNum;
    /**
     * 所属省
     */
    private String belongtoProvince;
    /**
     * 所属市
     */
    private String belongtoCity;
    /**
     * 所属区县
     */
    private String belongtoArea;
    /**
     * 建筑物名称
     */
    private String buildingName;
    /**
     * 场地类型(I类、II类、III类、IV类)
     */
    private String siteType;
    /**
     * 审核状态
     */
    private String status;
    /**
     * 审核人
     */
    private String checkUser;
    /**
     * 审核意见
     */
    private String checkOpinion;
    /**
     * 审核时间
     */
    private Date checkTime;
    /**
     * 提交时间
     **/
    private Date submitTime;
    private String createUser;
    private String collectUser;
    private Date createTime;
    private String updateUser;
    private Date updateTime;
    /**
     * 任务ID
     */
    private String taskId;
    /**
     * 任务名称
     */
    private String taskName;
    private String delFlag;
    private Double buildingArea;

    /**
     * 超级管理员退回意见
     * @return
     */
    private String superBackOpinion;
    /**
     * 省级退回意见
     * @return
     */
    private String provinceBackOpinion;
    @Basic
    @Column(name = "super_back_opinion")
    public String getSuperBackOpinion() {
        return superBackOpinion;
    }

    public void setSuperBackOpinion(String superBackOpinion) {
        this.superBackOpinion = superBackOpinion;
    }

    @Basic
    @Column(name = "province_back_opinion")
    public String getProvinceBackOpinion() {
        return provinceBackOpinion;
    }

    public void setProvinceBackOpinion(String provinceBackOpinion) {
        this.provinceBackOpinion = provinceBackOpinion;
    }

    @Id
    @Column(name = "id")
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @Basic
    @Column(name = "structure_id")
    public String getStructureId() {
        return structureId;
    }

    public void setStructureId(String structureId) {
        this.structureId = structureId;
    }

    @Basic
    @Column(name = "structure_type")
    public String getStructureType() {
        return structureType;
    }

    public void setStructureType(String structureType) {
        this.structureType = structureType;
    }

    @Basic
    @Column(name = "structure_num")
    public String getStructureNum() {
        return structureNum;
    }

    public void setStructureNum(String structureNum) {
        this.structureNum = structureNum;
    }

    @Basic
    @Column(name = "belongto_province")
    public String getBelongtoProvince() {
        return belongtoProvince;
    }

    public void setBelongtoProvince(String belongtoProvince) {
        this.belongtoProvince = belongtoProvince;
    }

    @Basic
    @Column(name = "belongto_city")
    public String getBelongtoCity() {
        return belongtoCity;
    }

    public void setBelongtoCity(String belongtoCity) {
        this.belongtoCity = belongtoCity;
    }

    @Basic
    @Column(name = "belongto_area")
    public String getBelongtoArea() {
        return belongtoArea;
    }

    public void setBelongtoArea(String belongtoArea) {
        this.belongtoArea = belongtoArea;
    }

    @Basic
    @Column(name = "building_name")
    public String getBuildingName() {
        return buildingName;
    }

    public void setBuildingName(String buildingName) {
        this.buildingName = buildingName;
    }

    @Basic
    @Column(name = "site_type")
    public String getSiteType() {
        return siteType;
    }

    public void setSiteType(String siteType) {
        this.siteType = siteType;
    }

    @Basic
    @Column(name = "status")
    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Basic
    @Column(name = "check_user")
    public String getCheckUser() {
        return checkUser;
    }

    public void setCheckUser(String checkUser) {
        this.checkUser = checkUser;
    }

    @Basic
    @Column(name = "check_opinion")
    public String getCheckOpinion() {
        return checkOpinion;
    }

    public void setCheckOpinion(String checkOpinion) {
        this.checkOpinion = checkOpinion;
    }

    @Basic
    @Column(name = "check_time")
    public Date getCheckTime() {
        return checkTime;
    }

    public void setCheckTime(Date checkTime) {
        this.checkTime = checkTime;
    }

    @Basic
    @Column(name = "submit_time")
    public Date getSubmitTime() {
        return submitTime;
    }

    public void setSubmitTime(Date submitTime) {
        this.submitTime = submitTime;
    }

    @Basic
    @Column(name = "create_user")
    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    @Basic
    @Column(name = "collect_user")
    public String getCollectUser() {
        return collectUser;
    }

    public void setCollectUser(String collectUser) {
        this.collectUser = collectUser;
    }

    @Basic
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "update_user")
    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    @Basic
    @Column(name = "update_time")
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "task_id")
    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    @Basic
    @Column(name = "task_name")
    public String getTaskName() {
        return taskName;
    }

    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    @Basic
    @Column(name = "del_flag")
    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }



    @Override
    public boolean equals(Object o) {
        if (this == o) {return true;}
        if (o == null || getClass() != o.getClass()) {return false;}
        FwStructureFormEntity that = (FwStructureFormEntity) o;
        return Objects.equals(id, that.id) &&
                Objects.equals(structureId, that.structureId) &&
                Objects.equals(structureType, that.structureType) &&
                Objects.equals(structureNum, that.structureNum) &&
                Objects.equals(belongtoProvince, that.belongtoProvince) &&
                Objects.equals(belongtoCity, that.belongtoCity) &&
                Objects.equals(buildingName, that.buildingName) &&
                Objects.equals(siteType, that.siteType) &&
                Objects.equals(status, that.status) &&
                Objects.equals(checkUser, that.checkUser) &&
                Objects.equals(checkOpinion, that.checkOpinion) &&
                Objects.equals(createUser, that.createUser) &&
                Objects.equals(collectUser, that.collectUser) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(updateUser, that.updateUser) &&
                Objects.equals(updateTime, that.updateTime) &&
                Objects.equals(taskId, that.taskId) &&
                Objects.equals(taskName, that.taskName) &&
                Objects.equals(delFlag, that.delFlag);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, structureId, structureType, structureNum, belongtoProvince, belongtoCity, buildingName, siteType, status, checkUser, checkOpinion, createUser, collectUser, createTime, updateUser, updateTime, taskId, taskName, delFlag);
    }
    @Basic
    @Column(name = "building_area")
    public Double getBuildingArea() {
        return buildingArea;
    }

    public void setBuildingArea(Double buildingArea) {
        this.buildingArea = buildingArea;
    }
}
